package com.nts.visionworks.business.application.domain;

// Generated 2013. 6. 23 ���� 6:33:40 by Hibernate Tools 4.0.0

import com.nts.visionworks.business.endpoint.domain.EndPoint;
import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ApplicationUpdated generated by hbm2java
 */
@Entity
@Table(name = "application_updated", catalog = "visionworks")
public class ApplicationUpdated implements java.io.Serializable
{

	private ApplicationUpdatedId id;
	private EndPoint endPoint;
	private ApplicationRelease applicationRelease;
	private Date updatedDateTime;

	public ApplicationUpdated()
	{
	}

	public ApplicationUpdated(ApplicationUpdatedId id, EndPoint endPoint,
			ApplicationRelease applicationRelease, Date updatedDateTime)
	{
		this.id = id;
		this.endPoint = endPoint;
		this.applicationRelease = applicationRelease;
		this.updatedDateTime = updatedDateTime;
	}

	@EmbeddedId
	@AttributeOverrides(
	{
			@AttributeOverride(name = "releaseId", column = @Column(name = "ReleaseId", nullable = false)),
			@AttributeOverride(name = "endPointId", column = @Column(name = "EndPointId", nullable = false)) })
	public ApplicationUpdatedId getId()
	{
		return this.id;
	}

	public void setId(ApplicationUpdatedId id)
	{
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "EndPointId", nullable = false, insertable = false, updatable = false)
	public EndPoint getEndPoint()
	{
		return this.endPoint;
	}

	public void setEndPoint(EndPoint endPoint)
	{
		this.endPoint = endPoint;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ReleaseId", nullable = false, insertable = false, updatable = false)
	public ApplicationRelease getApplicationRelease()
	{
		return this.applicationRelease;
	}

	public void setApplicationRelease(ApplicationRelease applicationRelease)
	{
		this.applicationRelease = applicationRelease;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "UpdatedDateTime", nullable = false, length = 19)
	public Date getUpdatedDateTime()
	{
		return this.updatedDateTime;
	}

	public void setUpdatedDateTime(Date updatedDateTime)
	{
		this.updatedDateTime = updatedDateTime;
	}

}
